#ifndef ABCTABLEVIEW_H
#define ABCTABLEVIEW_H

#include <QWidget>
#include <QString>

class QAbstractListModel;
class QAbstractItemDelegate;
class TTableView;
class ABCDialog;
namespace Ui {
class ABCTableView;
}

class ABCTableView : public QWidget
{
    Q_OBJECT

public:
    explicit ABCTableView(QWidget *parent = 0);
    ~ABCTableView();
    void setModel (QAbstractListModel * model,int num);
    void setCheckNum(int num);
    void setItemDelegate ( QAbstractItemDelegate * delegate );
    void setABCDialogPos(int x,int y);
    TTableView *getTableView();

    void setBarEnable(bool b);
    void setBarHeight(int height);
    void setBarCharSize(int size);
    void setBarSize(int a,int b);

private:
#ifdef STRABC
    int getSelect(QString str);
#else
    int getSelect(char c);
#endif

private slots:
#ifdef STRABC
    void updateDilog(QString str);
#else
    void updateDilog(char c);
#endif

    void dialogShow();
    void dialogHide();
private:
    Ui::ABCTableView *ui;
    ABCDialog *mABCDialog;
    QAbstractListModel *mModel;

    //QList<QString> dataList;

#ifdef STRABC
    QString mNowChar;
#else
    char mNowChar;
#endif
    int mCheckNum;
};

#endif // ABCTABLEVIEW_H
